home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 27.zip / BS1 part 27 / Brillance_d1.adf / Install < prev    next >
Text File  |  1993-08-23  |  23KB  |  699 lines

  1. ;**********************************************************************
  2. ;
  3. ;   Install - Brilliance installation script.
  4. ;
  5. ;   $VER: Brilliance_Install 1.0 (30.7.93)
  6. ;   $Release: 1.0 $
  7. ;   $Revision: 1.18 $
  8. ;   $Date: 1993/07/30 17:06:05 $
  9. ;
  10. ;**********************************************************************
  11.  
  12. ; Vars
  13. ;   HDMode - TRUE for HD installation, FALSE for Diskette.
  14. ;   DestAppDir - Target directory to install Brilliance (including Brilliance, e.g. Work:Brilliance) (HD-only).
  15. ;             This is used instead @default-dest, although for HD installation, the 2 should be the same.
  16. ;   SerialNumber - User's serial number as entered into an (askstring)
  17. ;   InstFlags - set of INSTB_ bits to install (HD-only).
  18. ;   KS2.0 - set to TRUE if Kickstart 36 or higher, FALSE otherwise.
  19.  
  20.  
  21. ; --------------------- Defines
  22.  
  23. ; serial number length
  24. (set SERIALNUM_Length 24)
  25.  
  26. ; user level enum
  27. (set
  28.     USER_Novice  0
  29.     USER_Average 1
  30.     USER_Expert  2
  31. )
  32.  
  33. ; installation set flags
  34. (set
  35.     INSTB_Brilliance        0
  36.     INSTB_TrueBrilliance    1
  37.     INSTB_Tutorial          2
  38.     INSTB_ImagesAndPalettes 3
  39.  
  40.     INSTF_Brilliance        (shiftleft 1 INSTB_Brilliance)
  41.     INSTF_TrueBrilliance    (shiftleft 1 INSTB_TrueBrilliance)
  42.     INSTF_Tutorial          (shiftleft 1 INSTB_Tutorial)
  43.     INSTF_ImagesAndPalettes (shiftleft 1 INSTB_ImagesAndPalettes)
  44.  
  45.     INSTF_All               (BITOR INSTF_Brilliance INSTF_TrueBrilliance INSTF_Tutorial INSTF_ImagesAndPalettes)
  46. )
  47.  
  48. ; set KS2.0 to TRUE if ks version >= 36, FALSE otherwise
  49. (set KS2.0 (>= (shiftright (getversion) 16) 36))
  50.  
  51. ; library descriptions
  52. (set
  53.     #asllib-desc (cat
  54.         "    The Workbench 2.1 release of \"asl.library\" contains the Screen Mode requester used by Brilliance.  "
  55.         "Since the initial Workbench 2.0 release of asl.library did not contain the Screen Mode requester, "
  56.         "the 2.1 release is included with Brilliance to give Workbench 2.0 owners access to this feature without "
  57.         "upgrading to Workbench 2.1.\n"
  58.     )
  59.     #dctvlib-desc (cat
  60.         "    \"dctv.library\" provides application support for reading and writing DCTV images.  "
  61.         "TrueBrilliance uses this library to translate DCTV pictures and animations to true color.\n"
  62.     )
  63.     #iffparselib-desc (cat
  64.         "    \"iffparse.library\" provides IFF file read and write support functions used by Brilliance.  "
  65.         "Commodore distributes this file as part of Workbench 2.0, but may also be used with Kickstart 1.3.\n"
  66.     )
  67. )
  68.  
  69. ; patch descriptions
  70. (set
  71.     #setpatch-desc (cat
  72.         "    \"SetPatch\" is a system patch provided by Commodore to fix a variety of system bugs.  "
  73.         "SetPatch 1.38, the final SetPatch release for Kickstart 1.3, was distributed as part of "
  74.         "Workbench Release 1.3.3.  SetPatch 1.38 is included with Brilliance for those 1.3 users who have not "
  75.         "upgraded to 1.3.3.\n"
  76.     )
  77.     #setpatchmrgcop-desc (cat
  78.         "    \"SetPatchMrgCop\" is a patch provided by Digital Creations to fix a variety of display "
  79.         "related bugs in all versions of the Amiga operating system.\n"
  80.     )
  81. )
  82.  
  83. ; misc text bits
  84. (set
  85.     #copyof-text    (if KS2.0 "Copy_of_" "Copy of ")
  86.     #serialnum-text "Security Key Serial Number"
  87. )
  88.  
  89. ; misc prompts and help (depends on misc text bits above)
  90. (set
  91.     #askdisk-prompt-fmt (cat
  92.         "\n\nInsert the %s copy of Brilliance Disk %ld in any diskette drive."
  93.     )
  94.     #installsys-desc-fmt (cat
  95.         "Description of %s:\n"
  96.         "%s\n"
  97.     )
  98.     #installsys-prompt-fmt (cat
  99.         "\n\nInstalling \"%s\" to your system disk or partition."
  100.     )
  101.     #intro-text (cat
  102.         "This utility can only be used to install Brilliance on your Hard Disk. "
  103.         "For floppy just copy or use the master diskettes.\n"
  104.     )
  105. )
  106.  
  107.  
  108. ; --------------------- procedure GetSrcDiskDesc
  109. ;
  110. ; NAME
  111. ;   GetSrcDiskDesc
  112. ;
  113. ; FUNCTION
  114. ;   Return source disk description based on HDMode state
  115. ;
  116. ; INPUTS
  117. ;   HDMode - global variable indicating installation mode.
  118. ;
  119. ; RESULTS
  120. ;   Either "Master" or "Working" depending on HDMode state.
  121.  
  122. (procedure GetSrcDiskDesc
  123.     (if HDMode "Master" "Working")
  124. )
  125.  
  126.  
  127. ; --------------------- procedure AskDisk1, 2, 3
  128. ;
  129. ; NAME
  130. ;   AskDisk1
  131. ;   AskDisk2
  132. ;   AskDisk3
  133. ;
  134. ; FUNCTION
  135. ;   Ask for Brilliance Disks by disk label.  Sensitive to HDMode to
  136. ;   determine whether it should ask for working or master copy.
  137. ;
  138. ; INPUTS
  139. ;   HDMode - indicates installation mode.
  140. ;
  141. ; RESULTS
  142. ;   None
  143.  
  144. (procedure AskDisk1 (
  145.     (askdisk
  146.         (dest "Brilliance1")
  147.         (prompt (#askdisk-prompt-fmt (GetSrcDiskDesc) 1))
  148.         (help @askdisk-help)
  149.     )
  150.     (working)
  151. ))
  152.  
  153. (procedure AskDisk2 (
  154.     (askdisk
  155.         (dest "Brilliance2")
  156.         (prompt (#askdisk-prompt-fmt (GetSrcDiskDesc) 2))
  157.         (help @askdisk-help)
  158.     )
  159.     (working)
  160. ))
  161.  
  162. (procedure AskDisk3 (
  163.     (askdisk
  164.         (dest "Brilliance3")
  165.         (prompt (#askdisk-prompt-fmt (GetSrcDiskDesc) 3))
  166.         (help @askdisk-help)
  167.     )
  168.     (working)
  169. ))
  170.  
  171.  
  172. ; --------------------- procedure SysInstall
  173. ;
  174. ; NAME
  175. ;   SysInstall
  176. ;
  177. ; FUNCTION
  178. ;   Library / Patch installation.
  179. ;   Does common HD/FD patch and library installation
  180. ;   This assumes client knows that this stuff is on Disk 2
  181. ;
  182. ; INPUTS
  183. ;   HDMode - indicates installation mode.
  184. ;
  185. ; RESULTS
  186. ;   None
  187. ;
  188. ; LOCAL VARS
  189. ;   DestCDir
  190. ;   LibName
  191. ;   i
  192.  
  193. (procedure SysInstall (
  194.         ; ask for correct disk
  195.     (AskDisk2)
  196.  
  197.         ; install libraries
  198.     (set i 0)
  199.     (while (set LibName (select i "asl.library" "dctv.library" "iffparse.library" ""))
  200.         (if
  201.                 ; test library applicability and new than existing version (avoid prompting expert users to install an older version)
  202.             (AND
  203.                 (select i KS2.0 TRUE TRUE)      ; @@@ must match above library list
  204.                 (> (getversion (tackon "Brilliance2:libs" LibName)) (getversion (tackon "LIBS:" LibName)))
  205.             )
  206.                 ; TRUE case
  207.             (copylib
  208.                 (source (tackon "Brilliance2:libs" LibName))
  209.                 (dest "LIBS:")
  210.                 (confirm)
  211.                 (prompt (#installsys-prompt-fmt LibName))
  212.                 (help
  213.                     (#installsys-desc-fmt "library"
  214.                         (select i #asllib-desc #dctvlib-desc #iffparselib-desc)     ; @@@ must match above library list
  215.                     )
  216.                     @copylib-help
  217.                 )
  218.             )
  219.         )
  220.         (set i (+ i 1))
  221.     )
  222.  
  223.         ; update SetPatch if not 2.0
  224.         ; @@@ if minimum OS detection stuff is bumped to 2.0, this can be removed
  225.     (if (NOT KS2.0)
  226.         (
  227.                 ; ask user where SetPatch is.  set location in DestCDir (default to C:)
  228.             (set DestCDir (askdir
  229.                 (prompt "In which directory should \"SetPatch\" updated?")
  230.                 (help
  231.                     (#installsys-desc-fmt "patch" #setpatch-desc)
  232.                     "    SetPatch must be installed in the C directory of your boot partition or diskette "
  233.                     "in order for it to be found by your Startup-Sequence.  "
  234.                     "You may need to examine your boot environment before "
  235.                     "choosing the appropriate location for SetPatch.\n"
  236.                     "\n"
  237.                     "Standard locations of SetPatch:\n"
  238.                     "    Diskette-based Amiga - C:\n"
  239.                     "          A500 with A591 - C:\n"
  240.                     "        A2000 with A2091 - C:\n"
  241.                     "       A2000 with A2090A - Boot:C\n"
  242.                     "        A2000 with A2090 - Workbench1.3:C\n"
  243.                     "                   A3000 - C:\n"
  244.                     "\n"
  245.                     @askdir-help
  246.                 )
  247.                 (default "C:")
  248.             ))
  249.  
  250.                 ; see if we need to update SetPatch
  251.                 ; ask expert user's to confirm updating SetPatch, otherwise just copy it
  252.                 ; (sort of like doing my own copylib here)
  253.                 ; (use getsum because SetPatch 1.38 and earlier have no version tag)
  254.                 ; @@@ this assumes that SetPatch 1.38 is the absolute newest available SetPatch
  255.             (if (<> (getsum (tackon DestCDir "SetPatch")) (getsum "Brilliance2:c/SetPatch"))
  256.                 (if
  257.  
  258.                     (if     ; return TRUE if user is not an expert, or an expert user chooses Proceed
  259.                         (= @user-level USER_Expert)
  260.                         (askbool
  261.                             (prompt
  262.                                 (#installsys-prompt-fmt "SetPatch")
  263.                                 "\n\n"
  264.                                 "Version to install: 1.38\n"
  265.                                 "Version currently installed: (unknown)\n"
  266.                                 "\n"
  267.                                 "Destination Drawer to Copy to:\n"
  268.                                 DestCDir
  269.                             )
  270.                             (help
  271.                                 (#installsys-desc-fmt "patch" #setpatch-desc)
  272.                                 @copylib-help
  273.                             )
  274.                             (choices "Proceed with Copy" "Skip This Part")
  275.                         )
  276.                         TRUE
  277.                     )
  278.                             ; TRUE case from above if
  279.                     (copyfiles
  280.                         (source "Brilliance2:c/SetPatch")
  281.                         (dest DestCDir)
  282.                     )
  283.                 )
  284.             )
  285.         )
  286.     )
  287.  
  288.         ; update SetPatchMrgCop in C: if newer
  289.         ; (doing my own version test to avoid prompting expert users to install an older version)
  290.     (if (> (getversion "Brilliance2:c/SetPatchMrgCop") (getversion "C:SetPatchMrgCop"))
  291.         (copylib
  292.             (source "Brilliance2:c/SetPatchMrgCop")
  293.             (dest "C:")
  294.             (confirm)
  295.             (prompt (#installsys-prompt-fmt "SetPatchMrgCop"))
  296.             (help
  297.                 (#installsys-desc-fmt "patch" #setpatchmrgcop-desc)
  298.                 @copylib-help
  299.             )
  300.         )
  301.     )
  302.  
  303.         ; add SetPatchMrgCop in user-startup if it was installed (even if not just installed)
  304.     (if (exists "C:SetPatchMrgCop")
  305.         (startup @app-name
  306.             (prompt
  307.                 "\n\nSome instructions need to be added to \"S:user-startup\" "
  308.                 "so that your system will be properly configured to use Brilliance."
  309.             )
  310.             (help
  311.                 "    The command \"SetPatchMrgCop\" will be added to your \"S:user-startup\".  "
  312.                 "This will cause it to be run every time you boot your system.\n"
  313.                 "\n"
  314.                 (#installsys-desc-fmt "patch" #setpatchmrgcop-desc)
  315.                 @startup-help
  316.             )
  317.             (command
  318.                 "  if exists c:SetPatchMrgCop\n"
  319.                 "    SetPatchMrgCop\n"
  320.                 "  endif\n"
  321.             )
  322.         )
  323.     )
  324.  
  325.         ; run SetPatchMrgCop
  326.     (run "Brilliance2:c/SetPatchMrgCop"
  327.         (confirm)
  328.         (prompt
  329.             "\n\n\Run the patch program \"SetPatchMrgCop\" now?"
  330.         )
  331.         (help
  332.             "    SetPatchMrgCop will be run now if select the \"Proceed\" button.\n"
  333.             "\n"
  334.             "Description of patch:\n"
  335.             #setpatchmrgcop-desc
  336.         )
  337.     )
  338. ))
  339.  
  340.  
  341. ; --------------------- procedure ValidateSerialNumber
  342. ;
  343. ; NAME
  344. ;   ValidateSerialNumber
  345. ;
  346. ; FUNCTION
  347. ;   Check if SerialNumber is valid.
  348. ;
  349. ; INPUTS
  350. ;   SerialNumber - containing serial number to check
  351. ;
  352. ; RESULTS
  353. ;   TRUE if SerialNumber is valid, FALSE otherwise
  354. ;
  355. ; LOCAL VARS
  356. ;   i
  357. ;   nchars
  358. ;
  359. ; BUGS
  360. ;   Only counts non-blank characters, doesn't check to see if each character is valid.
  361.  
  362. (procedure ValidateSerialNumber (
  363.     (set
  364.         i 0
  365.         nchars 0
  366.     )
  367.     (while (< i (strlen SerialNumber))
  368.         (
  369.             (if (<> (substr SerialNumber i 1) " ") (set nchars (+ nchars 1)))
  370.             (set i (+ i 1))
  371.         )
  372.     )
  373.     (= nchars SERIALNUM_Length)
  374. ))
  375.  
  376.  
  377. ; --------------------- procedure SerializeFile
  378. ;
  379. ; NAME
  380. ;   SerializeFile
  381. ;
  382. ; FUNCTION
  383. ;   Installs serial number to the SERIAL_NUMBER tool type of the named file's icon.
  384. ;   Does nothing if file's icon doesn't exist.
  385. ;
  386. ; INPUTS
  387. ;   serialize_dir - directory containing file to serialize.
  388. ;   serialize_file - name of file to serialize (not containing ".info").
  389. ;   SerialNumber - containing serial number to install.
  390. ;
  391. ; RESULTS
  392. ;   None
  393.  
  394. (procedure SerializeFile (
  395.     (if (exists (tackon serialize_dir (cat serialize_file ".info")))
  396.         (
  397.             (transcript "Serialize file \"" (tackon serialize_dir serialize_file) "\".")
  398.             (tooltype
  399.                 (dest (tackon serialize_dir serialize_file))
  400.                 (settooltype "SERIAL_NUMBER" SerialNumber)
  401.                 (confirm)
  402.                 (prompt
  403.                     "\n\nInstalling your " #serialnum-text " in \"" serialize_file "\"."
  404.                     "\n\n" #serialnum-text ":\n"
  405.                     SerialNumber
  406.                     "\n\nDrawer Containing Program to Serialize:\n"
  407.                     serialize_dir
  408.                 )
  409.                 (help
  410.                     "    Brilliance and TrueBrilliance must be installed with a valid "
  411.                     #serialnum-text " before they can be run.  "
  412.                     "If you select the \"Proceed\" button, your "
  413.                     #serialnum-text " will be installed into the named program."
  414.                 )
  415.             )
  416.         )
  417.     )
  418. ))
  419.  
  420.  
  421. ; --------------------- Welcome
  422.  
  423.     ; check os version
  424.     ; @@@ requires at least workbench 1.3
  425. (if (< (shiftright (getversion "LIBS:version.library") 16) 34)
  426.     (abort "Brilliance requires Workbench Release 1.3 or greater.")
  427. )
  428.  
  429.     ; display welcome text
  430. (set OldLevel (user USER_Expert))
  431. (message
  432.     ; prompt
  433.         "CARNAGE presents Brilliance! (sans key :)\n"
  434.         "\n"
  435.         #intro-text
  436.         "\n"
  437.         " This version is intended as a convenience for owners who find the security key a "
  438.         "bothersome load on their game port.  This version also serves as a "
  439.         "preview for non-owners.  If you will be a serious user of this program, "
  440.         "please support the authors by purchasing your own registered copy."
  441.  
  442.     (help
  443.         "            CARNAGE Presents: Brilliance!\n"
  444.         "call:\n"
  445.         "    ______________  ___  __________  ____________\n"
  446.         "    \\____  \\____  \\/  / /  /\\____  \\/   _/\\_____/\n"
  447.         "     /  ___/  _   /\\  \\_\\  \\/  _   /  _/ \\/ ___/\n"
  448.         "    /__/  /__//__/____/____/__//__/\\_____/_____/ TO\n"
  449.         "    ____________________  ___   ____________  ___\n"
  450.         "    \\____  \\_____/____  \\/  /  /  /_   __/  \\/  /\n"
  451.         "     /     / ___//  _   /  /__/  / /  /   \\_   /\n"
  452.         "    /__/\\__\\____/__//__/_____/__/ /__/     /__/\n"
  453.         "                 anthr0x canadian hq\n"
  454.         "\n"
  455.         "Code & Crack by: Entity     Orig. & Art by: Rectifyre"
  456.     )
  457. )
  458. (user OldLevel)
  459.  
  460.     ; get user level
  461. (welcome)
  462.  
  463.  
  464. ; --------------------- Get Installation Type (Hard Disk / Diskette)
  465. ;
  466. ; Set HDMode to TRUE if user asked for Hard Disk, FALSE otherwise.
  467.  
  468. (set OldLevel (user USER_Expert))       ; ask all users
  469. (set HDMode (= (askchoice
  470.     (prompt
  471.         #intro-text
  472.         "\nInstallation method:"
  473.     )
  474.     (help
  475.         "Only choice:\n"
  476.         "    \"Hard Disk\" -- You will be prompted for partition/dir name.\n"
  477.         "\n"
  478.         "Select PROCEED to install or ABORT to cancel.\n"
  479.     )
  480.     (choices "Hard Disk")
  481.     (default 0)
  482. ) 0))
  483. (user OldLevel)
  484.  
  485.  
  486. ; --------------------- Get Serial Number    No need for this routine when
  487. ;                                            installing the CARNAGE version.
  488. ; Set SerialNumber to typed in serial #.
  489. ; Does limited validation of serial number
  490.  
  491. ;(set SerialNumber "")
  492. ;(set retry 0)
  493. ;(until
  494. ;    (ValidateSerialNumber)
  495. ;    (
  496. ;        (set OldLevel (user USER_Expert))       ; ask all users
  497. ;        (set SerialNumber (askstring
  498. ;            (prompt
  499. ;                "Enter the " #serialnum-text " exactly as it appears on the self-adhesive labels "
  500. ;                "from the Security Key envelope included with your Brilliance package."
  501. ;                (if retry (cat "\n\nInvalid " #serialnum-text ".  Please try again."))
  502. ;            )
  503. ;            (help
  504. ;                "    You are being asked to enter the " (cat SERIALNUM_Length) "-character "
  505. ;                #serialnum-text " printed on the labels from the Security Key envelope "
  506. ;                "included with your Brilliance package.  "
  507. ;                "You will not be able to run Brilliance or TrueBrilliance until the programs have "
  508. ;                "been installed with a valid " #serialnum-text ".\n"
  509. ;                "\n"
  510. ;                "Sample " #serialnum-text ":\n"
  511. ;                "    1234 5678 9ABC DEF0 1234 5678\n"
  512. ;                "\n"
  513. ;                @askstring-help
  514. ;            )
  515. ;            (default SerialNumber)
  516. ;        ))
  517. ;        (user OldLevel)
  518. ;        (set retry 1)
  519. ;    )
  520. ;)
  521.  
  522.  
  523. ; --------------------- Do installation
  524. ;
  525. ; Performs HD/FD installation and serialization based on HDMode from above
  526.  
  527.     ; set global delete options such that average and expert users
  528.     ; will be prompted for delete protected files.
  529. (delopts "oknodelete" "force" "askuser")
  530.  
  531. (if HDMode
  532.     ; HD installation/serialization of programs and data
  533.     ; Set DestAppDir and @default-dest to target installation directory and make directory
  534.     (
  535.         (set DestAppDir
  536.             (tackon
  537.                 (askdir
  538.                     (prompt "In which disk or drawer should the drawer called \"Brilliance\" be created?")
  539.                     (help
  540.                         "    The Brilliance programs and data files will be installed in a new drawer "
  541.                         "called \"Brilliance\".  You are being asked where this new drawer should be created.  "
  542.                         "If you select \"Work:\", for example, then a new drawer named \"Work:Brilliance\" will be created, "
  543.                         "and Brilliance will be installed into this new drawer.\n"
  544.                         "\n"
  545.                         @askdir-help
  546.                     )
  547.                     (default @default-dest)
  548.                 )
  549.                 "Brilliance"
  550.             )
  551.         )
  552.         (makedir DestAppDir (infos))           ; make directory w/o confirmation; we just got permission from above (askdir)
  553.         (set @default-dest DestAppDir)         ; set @default-dest to DestAppDir to cause log file to be put in the right spot.
  554.  
  555.             ; get list of stuff to install
  556.         (set InstFlags
  557.             (askoptions
  558.                 (prompt "Select which Brilliance programs and data files to install to \"" DestAppDir "\":")
  559.                 (choices
  560.                     "Brilliance - Register Program"
  561.                     "TrueBrilliance - True Color Program"
  562.                     "Tutorial"
  563.                     "Images and Palettes"
  564.                 )
  565.                 (help
  566.                     "You may choose to install any of the following programs:\n"
  567.                     "    \"Brilliance\" -- Register paint and animation program.\n"
  568.                     "    \"TrueBrilliance\" -- True Color / HAM paint and animation program.\n"
  569.                     "\n"
  570.                     "You may also choose to install any of the following sets of data files:\n"
  571.                     "    \"Tutorial\" -- A drawer containing files to be used with the "
  572.                     "Tutorial section in the Brilliance Manual.\n"
  573.                     "    \"Images and Palettes\" -- Two separate drawers containing sample pictures "
  574.                     "and useful palettes.\n"
  575.                     "\n"
  576.                     @askoptions-help
  577.                 )
  578.                 (default INSTF_All)
  579.             )
  580.         )
  581.         (complete 0)
  582.  
  583.             ; disk 1 ReadMe installation
  584.             ; install ReadMe if either program is requested
  585.         (if (IN InstFlags INSTB_Brilliance INSTB_TrueBrilliance)
  586.             (
  587.                 (AskDisk1)
  588.                 (copyfiles
  589.                     (source "Brilliance1:ReadMe")
  590.                     (dest DestAppDir)
  591.                     (infos)
  592.                 )
  593.                 (copyfiles
  594.                     (source "Brilliance1:CARNAGE.ReadMe")
  595.                     (dest DestAppDir)
  596.                     (infos)
  597.                 )
  598.                 (copyfiles
  599.                     (source "Brilliance1:Keys.txt")
  600.                     (dest DestAppDir)
  601.                     (infos)
  602.                 )
  603.             )
  604.         )
  605.         (complete 5)
  606.  
  607.             ; disk 1 program installation
  608.             ; copy Brilliance if requested and adjust program icon
  609.         (if (IN InstFlags INSTB_Brilliance)
  610.             (
  611.                 (AskDisk1)
  612.                 (copyfiles
  613.                     (source "Brilliance1:Brilliance")
  614.                     (dest DestAppDir)
  615.                     (infos)
  616.                 )
  617.                 (copyfiles
  618.                     (source "Brilliance1:Bril")
  619.                     (dest DestAppDir)
  620.                 )
  621.                 (tooltype
  622.                     (dest (tackon DestAppDir "Brilliance"))
  623.                     (noposition)
  624.                     (swapcolors)
  625.                 )
  626.             )
  627.         )
  628.         (complete 33)
  629.  
  630.             ; disk 2 program installation
  631.             ; copy TrueBrilliance if requested and adjust program icon
  632.         (if (IN InstFlags INSTB_TrueBrilliance)
  633.             (
  634.                 (AskDisk2)
  635.                 (copyfiles
  636.                     (source "Brilliance2:TrueBrilliance")
  637.                     (dest DestAppDir)
  638.                     (infos)
  639.                 )
  640.                 (copyfiles
  641.                     (source "Brilliance2:TBril")
  642.                     (dest DestAppDir)
  643.                 )
  644.                 (tooltype
  645.                     (dest (tackon DestAppDir "TrueBrilliance"))
  646.                     (noposition)
  647.                     (swapcolors)
  648.                 )
  649.             )
  650.         )
  651.         (complete 50)
  652.  
  653.             ; program serialization and system installation (disk 2)
  654.             ; Not serialized for preview purposes.  Once you have
  655.             ; bought the package (which you should) place your
  656.             ; number in the icon tool-types as stated in the manual.
  657. ;        (set
  658. ;            serialize_dir  DestAppDir
  659. ;            serialize_file "Brilliance"
  660. ;        )
  661. ;        (SerializeFile)
  662. ;        (set
  663. ;            serialize_dir  DestAppDir
  664. ;            serialize_file "TrueBrilliance"
  665. ;        )
  666. ;        (SerializeFile)
  667.         (SysInstall)
  668.         (complete 67)
  669.  
  670.             ; disk 3 data installation
  671.             ; install Tutorial if requested
  672.         (if (IN InstFlags INSTB_Tutorial)
  673.             (
  674.                 (AskDisk3)
  675.                 (copyfiles
  676.                     (source "Brilliance3:")
  677.                     (dest DestAppDir)
  678.                     (choices "Tutorial")    ; @@@ done this way rather than (all) to avoid having to do an extra tackon in dest
  679.                     (infos)
  680.                 )
  681.             )
  682.         )
  683.             ; install Images and Palettes if requested
  684.         (if (IN InstFlags INSTB_ImagesAndPalettes)
  685.             (
  686.                 (AskDisk3)
  687.                 (copyfiles
  688.                     (source "Brilliance3:")
  689.                     (dest DestAppDir)
  690.                     (choices "Images" "Palettes")
  691.                     (infos)
  692.                 )
  693.             )
  694.         )
  695.         (complete 100)
  696.     )
  697.  
  698. )
  699.